|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
Allele | Models the concept of an Allele, that is to say a specific instance of a
Gene s which "compete" for presence at a Locus |
Attribute | Defines the methods supported by Attribute objects. |
Basic | |
Beans | |
Cache | This defines a general caching mechanism where the cache is made up of
entries of the form: key -> value , for example when some
significant amount of calculation is required to generate value and we
therefore prefer to look it up to see if it's already been calculated. |
Cache_MBean | |
CacheSignature | Interface to define the notion of a cache key signature. |
Census | |
Censusible | This interface defines the census operation. |
Chromosome | Defines part of a Genomic. |
Colony | This super-interface of Population addresses the more basic aspects
of an Evolvable , Visualizable and Countable group. |
EcoFactor | Defines the methods supported by the EcoFactor interface. |
EitherOr | |
Environment | Defines the concept of an Environment, modeled as a map of EcoFactor
objects. |
EnvironmentListener | Defines the mechanism for notifying interested objects about changes in an environment. |
ExPhen | Type to represent an "extended phenotype" that is to say a variant of an
EcoFactor which has been modified by an organism whose Genome
is expressed as the ExPhen . |
Expresser | Defines the operations supported by an "expresser", that is an object that can take a Gene (or Genome) and express that gene(s) in the context of an environment. |
Expression | Generic marker interface for Traits and ExtPhen |
Fecundity | Defines methods to determine how fecund will be a particular mating in a population, i.e. |
Fit | Defines the aspect of an object which measures its fitness with respect to an environment. |
Fitness | Type representing a pair whose mutual fitness can be estimated. |
FitnessEngine | Registry for fitness functions for Taxon (Evolutionary Computation) Systems. |
FitnessFunction | |
Gene | Defines the operations and properties of a Gene. |
GenerationListener | Defines a callback method for invocation whenever a Evolution runs. |
Genes | This interface represents the read-only aspects of (possibly a subset of) a Genome, although the Ploidy is not included here. |
Genetic | Interface with defines a "genetic" object, i.e. |
Genome |
Defines the genetic information contained in an Organism belonging to
a Taxon . |
Genomic | Defines the genetic information contained in a Taxon. |
Genotype | A Genotype is a (diploid or haploid) set of genes which can be manipulated. |
HasPhenotypeCache | |
Insular | This defines the concept of separation, as of the separation of a colony from other colonies. |
Locus | Defines a Locus at which one of several Alleles may appear. |
MateChoice | Defines methods to determine how mates are chosen. |
Mating | Defines the mating of a pair of organisms, one male, one female. |
Meiosis | Defines how alleles are chosen during Meiosis. |
Mortal | Interface to define the operations supported by a "mortal" object, i.e. |
Mortality | Defines how mortality is calculated for individual objects (organisms) in Taxons. |
Mutator | Defines the methods for gene and genome mutators. |
Nuclear | Defines operations supported by a Nuclear object. |
Organism | Defines methods on an individual organism within a Taxon. |
Pharacter | This interface represents the concept of a Phenotypic Character. |
Phenome |
Defines the methods for implementations of the Phenome interface. |
Phenotype | Defines the methods supported by instances of Phenotype interface. |
Ploidy | This interface defines the concept of "ploidy", that is to say whether a genetic object is diploid or haploid, i.e. |
Population | Defines the properties (methods) which characterize a population in an Evolutionary Computation. |
PopulationExposed | MBean interface for Population. |
Progenitor | This marker interface represents the "parent" of a Locus . |
Quantifiable | This interface is in lieu of a Java interface to do the same thing. |
Realm | Interface which defines the concept of the "model" which is undergoing evolution. |
Registry | |
Replicator | |
SexLinked | |
Sexual | Defines the one method which must be supported by sex-based objects, viz. |
Sink | Interface to capture the essence of place where output can go, a sink in the engineering sense of sources and sinks. |
SinkCensus | This application interface is used to define how an individual object should be processed for a census. |
Taxon | Defines the methods supported by a unit of evolutionary computation (Taxon). |
Trait | A Trait is the phenotypic analog to a (genotypic) Gene . |
TraitMap | Defines the operations on a read-only collection of Trait instances. |
Variant | Defines the methods support by instances of the Variant interface. |
Class Summary | |
---|---|
Attribute_ | Abstract class representing a named attribute, and is the base class for Variant_, Allele_ and EcoFactor_. |
Attribute_Standard | Default implementation of Attribute . |
Cache_<K extends Identifiable,V> | Abstract base class for implementing a Cache . |
Census_ | |
Census_Log | |
Census_Sink | Base implementation the SinkCensus interface. |
Census_Standard | Class to provide a default implementation of Census_Sink |
FitnessCache | This cache maintains a set of fitness values indexed by Signature/FitnessEngine pair. |
FitnessCacheKey | This class is used to form the key for the FitnessCache |
GenerationListener_ | |
GenerationListener_Standard | |
LogFactoryNoOp | This class is necessary to allow the system to run as a (remote) Applet. |
PhenotypeCache | This cache maintains a set of Phenotypes indexed by Basic/Identifiable pair. |
PhenotypeCacheKey | This class is used to form the key for the PhenotypeCache |
Realm_ | Base implementation of Realm . |
Sink_ | |
Sink_Bucket | This is the bit bucket. |
Sink_Log |
Exception Summary | |
---|---|
DarwinException | This application-independent exception class is used to track runtime exceptions which may occur in the Darwin classes. |
GeneticsException |
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 |