Algorithm::Evolutionary::Experiment - Class for setting up an experiment


NAME

    Algorithm::Evolutionary::Experiment - Class for setting up an experiment

=head1 SYNOPSIS

  use Algorithm::Evolutionary::Experiment;
  my $popSize = 20;
  my $indiType = 'BitString';
  my $indiSize = 64;

  my $ex = new  Algorithm::Evolutionary::Experiment $popSize, $indiType, $indiSize, $algorithm; #Algorithm might be anything of type Op


DESCRIPTION

Experiment contains an algorithm and a population, and applies one to the other. Contains both as instance variables.


METHODS

new

   Creates a new experiment. An C<Experiment> has two parts: the population and the algorithm.
   The population is created from a set of parameters: popSize, indiType and indiSize, and a 
   array of algorithms that will be applied sequentially. Alternatively, if only operators
   is passed as an argument, it is understood as a array of algorithms (including, probably,
   initialization of the population).

fromXML

Creates a new experiment, same as before, but with an XML specification. An example of it follows:

 <ea xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:noNamespaceSchemaLocation='ea-alpha.xsd'
    version='0.2'>
  <initial>
    <pop size='20'>
       <section name='indi'> 
          <param name='type' value='BitString' /> 
          <param name='length' value='64' />
       </section>
    </pop>
    <op name='Easy'  type='unary'>
        <param name='selrate' value='0.4' />
        <param name='maxgen' value='100' />
        <code type='eval' language='perl'>
          <src><![CDATA[ #source goes here ]]>
          </src>
        </code>
        <op name='GaussianMutation' type='unary' rate='1'>
                <param name='avg' value='0' />
                        <param name='stddev' value='0.1' />
        </op>
        <op name='VectorCrossover' type='binary' rate='1'>
                <param name='numpoints' value='1' />
        </op>
    </op>

  </initial>
 </ea>

 This is an alternative constructor. Takes a well-formed string with the XML
 spec, which should have been done according to EvoSpec 0.3, or the same
 string processed with C<XML::Parser::EasyTree>, and returns a built experiment

go

Applies the different operators in the order that they appear; returns the population as a ref-to-array.

asXML


Opposite of fromXML; serializes the object in XML. First the operators, and then
the population


Copyright


  This file is released under the GPL. See the LICENSE file included in this distribution,
  or go to http://www.fsf.org/licenses/gpl.txt
  CVS Info: $Date: 2002/09/25 09:32:44 $ 
  $Header: /cvsroot/opeal/opeal/Algorithm/Evolutionary/Experiment.pm,v 1.5 2002/09/25 09:32:44 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 1.5 $
  $Name $

 Algorithm::Evolutionary::Experiment - Class for setting up an experiment