Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 20:44:31 (14 years ago)
Author:
gkronber
Message:

Fixed bugs related to dynamic symbol constraints with ADFs. #290 (Implement ADFs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeCreator.cs

    r3294 r3338  
    3535  [StorableClass]
    3636  public abstract class SymbolicExpressionTreeCreator : SymbolicExpressionTreeOperator, ISolutionCreator {
     37    private const string MaxFunctionDefinitionsParameterName = "MaxFunctionDefinitions";
     38    private const string MaxFunctionArgumentsParameterName = "MaxFunctionArguments";
     39    #region Parameter Properties
     40    public IValueLookupParameter<IntValue> MaxFunctionDefinitionsParameter {
     41      get { return (IValueLookupParameter<IntValue>)Parameters[MaxFunctionDefinitionsParameterName]; }
     42    }
     43    public IValueLookupParameter<IntValue> MaxFunctionArgumentsParameter {
     44      get { return (IValueLookupParameter<IntValue>)Parameters[MaxFunctionArgumentsParameterName]; }
     45    }
     46    #endregion
     47
     48    #region Propeties
     49    public IntValue MaxFunctionDefinitions {
     50      get { return MaxFunctionDefinitionsParameter.ActualValue; }
     51    }
     52    public IntValue MaxFunctionArguments {
     53      get { return MaxFunctionArgumentsParameter.ActualValue; }
     54    }
     55
     56    #endregion
    3757    protected SymbolicExpressionTreeCreator()
    3858      : base() {
     59      Parameters.Add(new ValueLookupParameter<IntValue>(MaxFunctionDefinitionsParameterName, "Maximal number of function definitions in the symbolic expression tree."));
     60      Parameters.Add(new ValueLookupParameter<IntValue>(MaxFunctionArgumentsParameterName, "Maximal number of arguments of automatically defined functions in the symbolic expression tree."));
    3961    }
    4062
    4163    public sealed override IOperation Apply() {
    42       SymbolicExpressionTreeParameter.ActualValue = Create(RandomParameter.ActualValue, SymbolicExpressionGrammarParameter.ActualValue,
    43         MaxTreeSizeParameter.ActualValue, MaxTreeHeightParameter.ActualValue);
     64      SymbolicExpressionTreeParameter.ActualValue = Create(Random, SymbolicExpressionGrammar,
     65        MaxTreeSize, MaxTreeHeight, MaxFunctionDefinitions, MaxFunctionArguments);
    4466
    4567      foreach (var node in SymbolicExpressionTreeParameter.ActualValue.IterateNodesPostfix()) {
     
    4971    }
    5072
    51     protected abstract SymbolicExpressionTree Create(IRandom random, ISymbolicExpressionGrammar grammar, IntValue maxTreeSize, IntValue maxTreeHeight);
     73    protected abstract SymbolicExpressionTree Create(
     74      IRandom random,
     75      ISymbolicExpressionGrammar grammar,
     76      IntValue maxTreeSize, IntValue maxTreeHeight,
     77      IntValue maxFunctionDefinitions, IntValue maxFunctionArguments
     78      );
    5279  }
    5380}
Note: See TracChangeset for help on using the changeset viewer.