Opened 10 years ago

Closed 10 years ago

#1654 closed feature request (done)

Grow and Full tree creation operators for genetic programming

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.6
Component: Encodings.SymbolicExpressionTreeEncoding Version: 3.3.6
Keywords: Cc:

Description

As of now only a variant of the probabilistic tree creator described by Sean Luke is available for tree creation in HeuristicLab. It would be great if the more traditional tree creation operators using the 'grow' and 'full' methods described by Koza are available as well, especially for comparisons of results described in the literature.

Change History (25)

comment:1 Changed 10 years ago by bburlacu

  • Status changed from new to accepted

comment:2 Changed 10 years ago by bburlacu

r6887: Implemented first versions of the Grow, Full and RampedHalfAndHalf tree creators.

comment:3 Changed 10 years ago by bburlacu

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.6
  • Owner changed from bburlacu to mkommend
  • Status changed from accepted to reviewing

comment:4 Changed 10 years ago by bburlacu

  • Owner changed from mkommend to bburlacu
  • Status changed from reviewing to assigned

comment:5 Changed 10 years ago by bburlacu

  • Status changed from assigned to accepted

comment:6 Changed 10 years ago by bburlacu

  • Owner changed from bburlacu to mkommend
  • Status changed from accepted to reviewing

r6888: Small adjustments to the Grow and Full tree creators. Added corresponding classes and unit tests.

comment:7 Changed 10 years ago by mkommend

r6944: Corrected bug in Full- and GrowTreeCreator.

comment:8 Changed 10 years ago by gkronber

  • Owner changed from mkommend to gkronber

comment:9 Changed 10 years ago by bburlacu

r6949: Enhanced tree creator tests.

comment:10 Changed 10 years ago by bburlacu

  • Owner changed from gkronber to mkommend

r7012: Updated Full-, Grow- and RampedHalfAndHalf tree creators so that the Create call has the exact same signature for all of them (including the probabilistic tree creator); adjusted tests. Added CreateTree interface method and tree creator selection mechanism in the Sample Tree View.

comment:11 Changed 10 years ago by mkommend

  • Status changed from reviewing to assigned

comment:12 Changed 10 years ago by bburlacu

r7034: Fixed bug in the RampedHalfAndHalfTreeCreator

comment:13 Changed 10 years ago by mkommend

  • Status changed from assigned to accepted

comment:14 Changed 10 years ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from accepted to reviewing

r7037: Implemented MultiSymbolicDataAnalysisExpressionTreeCreator.

comment:15 Changed 10 years ago by mkommend

r7052: Changed discovery in multi operators as the discovery by specifying a plugin description does not work in the LightWeightApplicationManager and therefore the classes were not useable in unit tests.

comment:16 Changed 10 years ago by mkommend

r7053: Corrected TreeCreator unit tests.

comment:17 Changed 10 years ago by mkommend

r7054: Corrected multi mutation operators for GP and fixed SymbolicExpressionMultiTreeView.

comment:18 Changed 10 years ago by mkommend

r7076: Corrected tree creators for symbolic expression encoding.

comment:19 Changed 10 years ago by mkommend

r7079: Added caching in SymbolicExpressionGrammarBase and changed depth limit for FullTreeCreator unit test.

comment:20 Changed 10 years ago by mkommend

r7108: Added performance improvements for Full- and GrowTreeCreator.

comment:21 Changed 10 years ago by gkronber

Reviewed implementations of GrowTreeCreator, FullTreeCreator, and RampedHalfAndHalfTreeCreator and made some minor changes with r7236.

comment:22 Changed 10 years ago by gkronber

Reviewed r7108, r7079, r7076, r7052:7054.

comment:23 Changed 10 years ago by gkronber

It is odd that the MultiSymbolcDataAnalysisExpressionTreeCreator is available as operator in the artificial ant problem.

Actually, I'm not too happy that we have specialized variants of the tree creators in the symbolic data analysis plugin just for discovery purposes. This means that whenever we implement a new problem using the symbolic expression tree encoding we need to provide specialized but effectively empty variants of the tree creation operators. If it is possible i'd be happy if this can be prevented.

In any case to prepare for the upcoming release I'm setting this ticket to ready-for-release and create a new ticket for this issue (#1723).

Last edited 10 years ago by gkronber (previous) (diff)

comment:24 Changed 10 years ago by gkronber

  • Status changed from reviewing to readytorelease

comment:25 Changed 10 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.5 to 3.3.6
Note: See TracTickets for help on using tickets.