Download presentation
Presentation is loading. Please wait.
Published byStella Bachus Modified over 10 years ago
1
EO – The Evolving Objects Library Artificial Intelligence II James Maxlow April 17 th, 2003
2
What is it? EO is an open-source C++ library for building genetic algorithms EO is an open-source C++ library for building genetic algorithms EO is functional on Unix, Linux, Windows, and Mac OS X EO is functional on Unix, Linux, Windows, and Mac OS X EO works with gcc, g++, Visual C++, Builder compilers / environments EO works with gcc, g++, Visual C++, Builder compilers / environments EO comes with tutorials and (incomplete) documentation EO comes with tutorials and (incomplete) documentation
3
What else? Create genetic algorithms! What else? Create genetic algorithms! EO supports command line and file input of parameters – no recompile necessary EO supports command line and file input of parameters – no recompile necessary EO allows you to use bit string or real- valued chromosomes, or create your own EO allows you to use bit string or real- valued chromosomes, or create your own EO provides support for parallel processing EO provides support for parallel processing What can you do with it?
4
double binary_value(const Indi & _indi) double binary_value(const Indi & _indi) { double sum = 0; double sum = 0; for (unsigned i = 0; i < _indi.size(); i++) for (unsigned i = 0; i < _indi.size(); i++) sum += _indi[i]; sum += _indi[i]; return sum; return sum; } // PARAMETERS // PARAMETERS // all parameters are hard-coded! // all parameters are hard-coded! const unsigned int SEED = 42; // seed for random number generator const unsigned int SEED = 42; // seed for random number generator const unsigned int T_SIZE = 3; // size for tournament selection const unsigned int T_SIZE = 3; // size for tournament selection const unsigned int VEC_SIZE = 16; // Number of bits in genotypes const unsigned int VEC_SIZE = 16; // Number of bits in genotypes const unsigned int POP_SIZE = 100; // Size of population const unsigned int POP_SIZE = 100; // Size of population const unsigned int MAX_GEN = 400; // Maximum number of generation before STOP const unsigned int MAX_GEN = 400; // Maximum number of generation before STOP const float CROSS_RATE = 0.8; // Crossover rate const float CROSS_RATE = 0.8; // Crossover rate const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation const float MUT_RATE = 1.0; // mutation rate const float MUT_RATE = 1.0; // mutation rate // SELECT // SELECT // The robust tournament selection // The robust tournament selection eoDetTournamentSelect select(T_SIZE); // T_SIZE in [2,POP_SIZE] eoDetTournamentSelect select(T_SIZE); // T_SIZE in [2,POP_SIZE] Simple Example
5
47 MB for the install, additional space for compilation of tutorials 47 MB for the install, additional space for compilation of tutorials Unix, Linux, Windows, or Mac OS X Unix, Linux, Windows, or Mac OS X Template-compliant compiler Template-compliant compiler Knowledge of C++ object-oriented programming and template model for advanced usage Knowledge of C++ object-oriented programming and template model for advanced usage Knowledge of basic C++ for simple usage Knowledge of basic C++ for simple usage What does it require?
6
EOGALib Better tutorials Better documentation Better multi-platform support Less space required Parallel version Wide range of parameter setting options Currently being worked on Not updated since 2000 Powerful customization How does it compare?
7
Official site - SourceForge: Official site - SourceForge: https://sourceforge.net/projects/eodev/ Latest daily build: Latest daily build: http://garfield.liacs.nl/eo/ Where can you get it?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.