Free cookie consent management tool by TermsFeed Policy Generator

source: branches/OKBJavaConnector/ECJClient/src/ec/gp/breed/README @ 11194

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

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

File size: 1.8 KB
Line 
1This directory contains various breeding pipelines made for GP trees.  The
2more common ones are historically elsewhere:  CrossoverPipeline and
3MutationPipeline are in the 'koza' directory, and the more general
4ReproductionPipeline and MultiBreedingPipelien are in the 'ec/breed' directory.
5
6Special-purpose pipelines in this directory:
7
8
9
10ec.gp.breed.InternalCrossoverPipeline
11
12Two points are selected within the same individual, such that neither is a
13subtree of the other.  The points are then crossed over.
14
15
16ec.gp.breed.MutateDemotePipeline
17
18A random non-leaf GPNode is created. A tree is removed from the individual and
19replaced with the GPNode.  The tree then is reattached as a child to that
20GPNode.  The remaining child slots of the GPNode, if any, are filled with
21randomly generated trees (using a GPNodeBuilder).
22
23
24ec.gp.breed.MutatePromotePipeline
25
26A tree is replaced with one of its children subtrees.
27
28
29ec.gp.breed.MutateSwapPipeline
30
31Two children subtrees of a random GPNode are swapped.
32
33
34ec.gp.breed.MutateOneNodePipeline
35
36A single ERC node in the tree is mutated.
37
38
39ec.gp.breed.MutateAllNodesPipeline
40
41All ERCs in the tree are mutated.
42
43
44ec.gp.breed.RehangPipeline
45
46A nonleaf GPNode in the tree is chosen as the new root.  Call it N.  We begin
47by removing a random child subtree from that node (call it T).  The node is
48then placed at he root.  The node's former parent is placed in the position
49formerly occupied by T.  The parent's parent is placed in the position
50formerly occupied by N.  The parent's parent's parent is placed in the
51position formerly occupied by N's parent.  And so on, until all parents are
52exhausted.  The remaining open slot is then filled with T.  This technique
53is highly randomizing and really only useful for odd tests here or there.
54It also cannot be used with a typed GP problem.
Note: See TracBrowser for help on using the repository browser.