Evocosm - A C++ Framework for Evolutionary Computing

Main Index

Created by Scott Robert Ladd at Coyote Gulch Productions.


Public Member Functions

libevocosm::reproducer< OrganismType > Class Template Reference

Creates new organisms from an existing population. More...

#include <reproducer.h>

Inheritance diagram for libevocosm::reproducer< OrganismType >:
libevocosm::globals

List of all members.

Public Member Functions


Detailed Description

template<class OrganismType>
class libevocosm::reproducer< OrganismType >

In most cases, a reproducer generates new organisms using parents selected (by fitness) from an existing population. In some singular (and probably rare) cases, a reproducer might generate new, random organisms in order to keep diversity high. Reproduction techniques can include crossover and asexual, sexual and (my favorite) try-sexual models.

Parameters:
OrganismType- The type of organism

Constructor & Destructor Documentation

template<class OrganismType>
virtual libevocosm::reproducer< OrganismType >::~reproducer ( ) [inline, virtual]

A virtual destructor. By default, it does nothing; this is a placeholder that identifies this class as a potential base, ensuring that objects of a derived class will have their destructors called if they are destroyed through a base-class pointer.


Member Function Documentation

template<class OrganismType>
virtual vector<OrganismType> libevocosm::reproducer< OrganismType >::breed ( const vector< OrganismType > &  a_population,
size_t  a_limit 
) [pure virtual]

A population provides genetic material for the creation of new children (who, will, like real children, forget where they left their shoes).

Parameters:
a_population- A population of organisms
a_limit- The maximum number of children the generate
Returns:
A vector containing new "child" organisms

Implemented in libevocosm::function_reproducer.


The documentation for this class was generated from the following file:

© 2011 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.