Free cookie consent management tool by TermsFeed Policy Generator

Opened 16 years ago

Closed 16 years ago

Last modified 14 years ago

#263 closed enhancement (done)

List of allowed sub-functions for each function should be cached

Reported by: gkronber Owned by: gkronber
Priority: lowest Milestone: HeuristicLab 3.3.0
Component: StructureIdentification Version: 3.1
Keywords: Cc:

Description

The list of allowed sub-functions of each function is static once the function-library is defined.

Since fixing #163 and #225 the constraints are checked each time to build the list of allowed functions. This slows down operators that manipulate function-trees especially the crossover operator.

Change History (7)

comment:1 Changed 16 years ago by gkronber

  • Status changed from new to assigned

comment:2 Changed 16 years ago by gkronber

Added caching of min and max arity and the allowed sub-functions in FunctionBase with r525.

Defining the set of allowed sub-functions for each function via a constraint tree was too complex. It is not necessary that the user is able to define an arbitrary clause for the set of allowed functions.

After r525 each function must have constraints that directly define the list of allowed sub-functions (either exactly one AllSubOperatorsTypeConstraint or one SubOperatorTypeConstraint for each possible sub-tree).

The goal is to remove the SubOperatorsConstraintAnalyzer completely however this is not yet possible because the GPOperatorLibrary is defined for all IOperators and thus can't use the IFunction specific method to get the allowed sub-functions. If the GPOperatorLibrary is changed so that it contains only IFunctions then we can remove the SubOperatorsConstraintAnalyzer.

comment:3 Changed 16 years ago by gkronber

refactoring: removed method GetMinMaxArity in TreeGardener with r526

comment:4 Changed 16 years ago by gkronber

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:5 Changed 16 years ago by swagner

  • Milestone changed from 3.1 to Iteration 0

Milestone 3.1 deleted

comment:6 Changed 14 years ago by swagner

  • Milestone changed from Iteration 0 to Current

Milestone Iteration 0 deleted

comment:11 Changed 14 years ago by swagner

  • Milestone changed from Current to HeuristicLab 3.3.0

Milestone Current deleted

Note: See TracTickets for help on using tickets.