|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
Asexual | Defines operations on asexual organisms. |
Attraction | This interface enables sexual selection. |
HasMean | |
Managed | Interface to define the operations on a Population where after
stabilizing on a best (fittest) solution, we update the environment, kill off
the colonies other than the one containing the best organism, create daughter
colonies, each of which has a differently modified environment based on the
original environment. |
Viability |
Class Summary | |
---|---|
Attraction_ | Base class for Attraction . |
Attraction_Uniform | Lifespan: permanent. |
Best_Organism | This class keeps track of the best organism, where best is defined as having the greatest fitness. |
Census_Darwinian | Class to provide a default implementation of Census_Sink
TODO do we really need this class? No it is obsolete! |
Census_Detail | Implementation of SinkCensus specifically which tries to do sensible
things for general types of phenotypes and genotypes. |
Colony_ | |
Colony_Mayrian | Default implementation of a Colony. |
Environment_Muirian | Lifespan: permanent. |
Expresser_Mendelian | Lifespan: permanent. |
Expresser_Sex | Lifespan: permanent. |
Frequency | Well, sometimes Java is simply bizarre. |
FrequencyMap<T> | Class to implement a frequency map. |
Function_Choosy | This class implements the Choosy.getMinimumDesirability(double)
function and allows dynamic varying of the specific formula, by emplying an
Evaluator . |
Function_Desirable | Concrete implementation of Desirable which extends Function_
and implements HasExpressions (thus it can be updated graphically at
runtime). |
Genomic_Asexual | Lifespan: permanent. |
Genomic_Sexual | Lifespan: permanent. |
Lek | Lifespan: temporary Concrete class to model a collection of breeding males from which a female may choose a mate. |
Mate | Class to model a potential (male) mate. |
MateChoice_ | Abstract class defining the base methods of MateChoice. |
MateChoice_Evaluator | |
MateChoice_Wrightian | Default implementation of MateChoice. |
Messages | |
MortalityStats | |
NumericFrequencyMap | This is a FrequencyMap where the keys each have an intrinsic value,
yielded by invoking Number.doubleValue() . |
Organism_ | Abstract class defining the base methods and fields of an implementation of
Organism interface. |
Organism_Asexual | This concrete class represents an individual organism within a Taxon . |
Organism_Sexual | This concrete class represents an individual organism within a Taxon . |
OrganismCensusContext | |
OrganismFactory | Factory Class to create Organism objects. |
Population_ | Abstract class defining the base methods and fields for an instance of the
Population interface. |
Population_Malthusian |
This concrete class is the default implementation of Population . |
Population_Managed | This abstract class is designed to be a base class for populations whose evolution is "managed". |
QuantifiableFrequencyMap | This is a FrequencyMap where the keys each have an intrinsic value,
yielded by invoking Quantifiable.doubleValue() . |
Realm_Wallacian | Standard implementation of Realm . |
Registry_ | |
Registry_None | This is the default concrete implementation of Registry and, as the
name suggests, it does nothing at all. |
Taxon_ | Abstract class implementing Taxon interface. |
Taxon_Darwinian | Lifespan: permanent. |
TraitFrequencyMap | Note that the objects that go into this frequency map may be variable and
therefore we call Trait.getKey() to determine how to uniquely
identify the trait for purposes of the frequency map. |
Viability_ | |
VisualizableListener_Census | Implementation of VisualizableListener which knows how to take a census of the (changed) population. |
Darwin Framework Project.
Copyright (C) 2003, 2007, 2009 Rubecula Software.
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 3 of the License, or (at
your
option) any later version. This library is distributed in the hope that
it
will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty
of MERCHANTABILITY or 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
CVS Version: $Revision: 1.5 $
Here's an update of the registration text:
This project provides a set of framework classes for the development of Evolutionary Computation applications in Java. Such applications, which might be classed as genetic algorithms, genetic programming, etc., enable problems, typically complex and non-analytical, to be solved by successively evaluating a population of possible solutions and breeding from the better-fitting solutions to generate a new population. The code is platform-independent. It is my intention to make this project a resource which can be used and or contributed to by anyone working in the field. As such it is designed to be extremely general in its class structure, with a well-defined separation between method (framework) code and application code.
Here are some of the tenets of the philosophy behind the design and
development of Darwin:
The following is an introduction to the major classes and interfaces
of
the darwin package. Use it as a starting point and/or as an adjunct to
the javadoc.
[NOTE: This section is far from complete - see the javadoc!]
However, if there are discrepancies, then the javadoc must of course
be considered definitive. Most of the classes described
are found in the com.rubecula.darwin package. Some utilities, of
a more general nature, are found in com.rubecula.util.
Following are descriptions of the darwin framework interfaces each having a simple concept name: Concept.
Following are descriptions of the darwin classes.
The package is bundled with the Jakarta Commons Logging facility, without which it
will not compile. You don't need your own logger to work with JCL but a log4j configuration
file is provided and, if log4j is in your classpath, it will run as expected.
However, by default, all logging is turned off (logging is directed to the NoOpLog implementation).
In order to turn it on, open up LogFactory_Darwin.java (currently in the util package but needs to be moved)
and comment out the return new NoOpLog();
line and uncomment the
LogFactory.getLog...
line.
TODO THIS IS OUTDATED. You will find a working example applet: the PepperedMoth example, in the examples package. This applet has an optional feature provided which allows you to vary the formula expressions (in the options window of the applet). Normally, you will leave this feature off (and filter out the compilation of the Evaluator_JEP class which you won't need). In order to turn this feature "on" you must do the following:
expressionsEnabled
property value to true
.
Last Updated: 2007-03-01 By: Robin Hillyard
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |