Evocosm - A C++ Framework for Evolutionary Computing
Created by Scott Robert Ladd at
Coyote Gulch Productions.
libevocosm::organism< Genotype > Class Template Reference
An evolving organism.
More...
#include <organism.h>
Inheritance diagram for libevocosm::organism< Genotype >:
List of all members.Public Member Functions
Protected Attributes
-
double m_fitness
- Fitness value.
-
Genotype m_genes
- Genetic material; could be almost anything.
Detailed Description
template<typename Genotype>
class libevocosm::organism< Genotype >
An organism is a solution to a problem posed by a fitness landscape; it has "genes" that define its behavior, and a fitness value assigned during fitness testing.
Evocosm provides the freedom to define organisms as anything: bit strings, floating-point numbers, finite state machines, LISP programs, or external robots controlled via radio waves.
- Parameters:
-
| Genotype | - The type of genes for this organism class |
Constructor & Destructor Documentation
|
Creates a new organism, with default genes and zero fitness. |
|
Creates a new organism with specific genes. - Parameters:
-
| a_value | - Gene value for the new organism |
|
|
Creates a new object identical to an existing one. - Parameters:
-
| a_source | - The source object |
|
|
Creates a new object identical to an existing one. - Parameters:
-
| a_parent1 | - First parent object |
| a_parent2 | - Second parent object |
|
|
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
|
Fitness is assigned by the landscape in which an organism is tested. A scaler object may alter fitness values after testing; a selector uses fitness to determine which organisms survive from one generation to the next, and a reproducer creates new organisms from parents selected by fitness.
Giving direct access to a member violates encapsulation, but it vastly simplifies the numerous functions that manipulate organisms. - Returns:
- Fitness for this organism
- See also:
- landscape, scaler, selector, reproducer
|
|
Fitness is assigned by the landscape in which an organism is tested. A scaler object may alter fitness values after testing; a selector uses fitness to determine which organisms survive from one generation to the next, and a reproducer creates new organisms from parents selected by fitness.
Giving direct access to a member violates encapsulation, but it vastly simplifies the numerous functions that manipulate organisms. - Returns:
- Fitness for this organism
- See also:
- landscape, scaler, selector, reproducer
|
template<typename Genotype> |
const Genotype& libevocosm::organism< Genotype >::genes |
( |
|
) |
const [inline] |
|
|
Genes define an organism's behavior in a fitness landscape. An initial population usually (but not always) contains organisms with random genes; a landscape tests the behavior defined by genes to calculate the fitness of an organism. A reproducer will create children from the genes of their parents, and a mutator may make random changes in those genes. - Returns:
- Genes encapsulated by this organism
- See also:
- landscape, mutator, reproducer
|
|
Genes define an organism's behavior in a fitness landscape. An initial population usually (but not always) contains organisms with random genes; a landscape tests the behavior defined by genes to calculate the fitness of an organism. A reproducer will create children from the genes of their parents, and a mutator may make random changes in those genes. - Returns:
- Genes encapsulated by this organism
- See also:
- landscape, mutator, reproducer
|
template<typename Genotype> |
virtual bool libevocosm::organism< Genotype >::operator< |
( |
const organism< Genotype > & |
a_right |
) |
const [inline, virtual] |
|
|
Many Standard C++ algorithms require a "less than" comparison operator for container elements. - Parameters:
-
| a_right | - Right hand argument for less than operator |
|
|
Assigns an existing object the state of another. - Parameters:
-
| a_source | - The source object |
- Returns:
- A reference to this
|
template<typename Genotype> |
virtual void libevocosm::organism< Genotype >::reset_all |
( |
|
) |
[inline, virtual] |
|
|
Resets all data in an organisim to the initial (or startup) state, including setting the fitness to zero. Derived classes should override this method to "clear" any data. |
The documentation for this class was generated from the following file:
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.