Free cookie consent management tool by TermsFeed Policy Generator

source: branches/OKBJavaConnector/ECJClient/src/ec/breed/README @ 12912

Last change on this file since 12912 was 6152, checked in by bfarka, 14 years ago

added ecj and custom statistics to communicate with the okb services #1441

File size: 2.5 KB
Line 
1This directory contains some simple utility breeding pipelines.  These
2pipelines don't make modifications of individuals, so if you're looking
3for crossover or mutation etc., you'll need to check in other packages
4more specifically designed for your representation.
5
6ec.breed.ReproductionPipeline
7  Requests an individual from its sole source pipeline, then
8  makes a copy of it and returns the copy.  Largely used in the
9  genetic programming package.
10
11ec.breed.MultiBreedingPipeline
12  When asked to create one or more children, selects from among
13  some N source pipelines attached to it, requests indivdiuals
14  from the chosen source, copies them, and returns them.  The
15  selection procedure is probabilistic, based on the 'probability'
16  values stored in each of the sources (in fact,
17  MultiBreedingPipeline is the reason those probability values exist.
18  This is historical: we probably should have stored them in
19  the MultiBreedingPipeline instead!  Might change in the future.)
20
21ec.breed.ForceBreedingPipeline
22  When asked to create some N children, this repeatedly requests from
23  its sole source some M<=N children at a time (you specify the M)
24  until it gets the N children asked for.  This is useful for various
25  minor tricks, such as forcing Crossover to only produce one individual.
26
27ec.breed.BufferedBreedingPipeline
28  When asked to create some N children, this makes a large request
29  from its sole source to create some M >= N children at a time
30  (you specify the M).  It then returns N of these children, storing
31  away the other M - N ones.  When asked again to create some more
32  children, it reaches into this storage and provides some of them.
33  When the storage is depleted, it creates another M children.  This
34  is useful for certain minor tricks: for example, enabling you to cross
35  over two individuals, then cross them over *again*.  We'd do that by
36  attaching the same BufferedBreedingPipeline (with M=2) to _both_
37  sources of a CrossoverPipeline (use the "same" options).  The
38  BufferedBreedingPipeline then has another CrossoverPipeline as its
39  source.  When the top CrossoverPipeline asked for its first child
40  to cross over, the BufferedBreedingPipeline would demand two children
41  from the subsidiary CrossoverPipeline (already crossed over), then
42  provide one of them.  When the second child is requested, the remaining
43  child would be provided.
44
45ec.breed.GenerationSwitchPipeline
46  This pipeline takes two sources.  If the generation is less than G,
47  then the pipeline provides copies of individuals from source 0.  Else
48  it provides copies of individuals from source 1.
Note: See TracBrowser for help on using the repository browser.