Opened 6 years ago

Closed 6 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 6 years ago by bburlacu

  • Status changed from new to accepted

comment:2 Changed 6 years ago by bburlacu

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

comment:3 Changed 6 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 6 years ago by bburlacu

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

comment:5 Changed 6 years ago by bburlacu

  • Status changed from assigned to accepted

comment:6 Changed 6 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 6 years ago by mkommend

r6944: Corrected bug in Full- and GrowTreeCreator.

comment:8 Changed 6 years ago by gkronber

  • Owner changed from mkommend to gkronber

comment:9 Changed 6 years ago by bburlacu

r6949: Enhanced tree creator tests.

comment:10 Changed 6 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 6 years ago by mkommend

  • Status changed from reviewing to assigned

comment:12 Changed 6 years ago by bburlacu

r7034: Fixed bug in the RampedHalfAndHalfTreeCreator

comment:13 Changed 6 years ago by mkommend

  • Status changed from assigned to accepted

comment:14 Changed 6 years ago by mkommend

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

r7037: Implemented MultiSymbolicDataAnalysisExpressionTreeCreator.

comment:15 Changed 6 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 6 years ago by mkommend

r7053: Corrected TreeCreator unit tests.

comment:17 Changed 6 years ago by mkommend

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

comment:18 Changed 6 years ago by mkommend

r7076: Corrected tree creators for symbolic expression encoding.

comment:19 Changed 6 years ago by mkommend

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

comment:20 Changed 6 years ago by mkommend

r7108: Added performance improvements for Full- and GrowTreeCreator.

comment:21 Changed 6 years ago by gkronber

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

comment:22 Changed 6 years ago by gkronber

Reviewed r7108, r7079, r7076, r7052:7054.

comment:23 Changed 6 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 6 years ago by gkronber (previous) (diff)

comment:24 Changed 6 years ago by gkronber

  • Status changed from reviewing to readytorelease

comment:25 Changed 6 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.