Free cookie consent management tool by TermsFeed Policy Generator

Changes between Initial Version and Version 2 of Ticket #1245


Ignore:
Timestamp:
11/06/10 14:40:57 (14 years ago)
Author:
gkronber
Comment:

In version 3.3 we added support for automatically defined functions (ADF). Because of this the tree structure has following shape:

                  root
                /  |   \
               /   |    \
              /    |     \
            RPB   ADF0...ADFn
           / | \  / | \  / | \


 (root (Result-production-branch (#)) (ADF0 #) (ADF1 #) ...)

This means the minimal depth of a functional tree only containing one terminal is three and the minimal size is also three.

Example:

     root
      |
     RBP
      |
   const 3.14

A max tree depth of three in HL 3.3 is thus equivalent to a max. tree depth of one in HL 2.5 which is too small to be useful.

A workaround for this problem is to use tree depths larger or equal five.

In any case the parameter setting is confusing because a user does not immediately know about the template shape necessary for ADFs. So this parameter setting should be documented better in the GUI.

Tree creation does not fail because PTC2 is the default for symbolic regression. Our implementation of PTC2 has a small chance to produce trees that are larger than the max depth and we decided that the max depth limit constraint is not enforced in the initial population.

Ideally the range for the values of this parameters should be limited and enforced in the GUI, however, there is not yet a general mechanism for this in HL. Actually a similar bug can be produced by setting the population size in any GA to a value smaller than one.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1245 – Description

    initial v2  
    1 An exception was thrown by the operator "SubtreeCrossover": The interval [0, 0) is empty.
     1An exception was thrown by the operator "!SubtreeCrossover": The interval [0, 0) is empty.
    22This can be reproduced by opening the GP example for symbolic regession and setting the maximum tree height to 3 and the maximum tree size to 25; after starting the algorithm this exception is thrown.