Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/25/13 12:37:18 (11 years ago)
Author:
sforsten
Message:

#1980:

  • fixed several bugs (crossover, subsumption, serialization etc.)
  • added ModuloOperator
  • CombinedIntegerVectorClassificationProblem\Data and VariableVectorClassificationProblem\Data inherit from ConditionActionClassificationProblem\Data
  • it can now be set how often the analyzers have to be executed
  • VariableVectorAction, VariableVectorCondition and VariableVectorInput now inherit from Item
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/VariableVectorClassificationProblem.cs

    r9228 r9242  
    3333using HeuristicLab.Problems.DataAnalysis;
    3434
    35 namespace HeuristicLab.Problems.CombinedIntegerVectorClassification {
     35namespace HeuristicLab.Problems.VariableVectorClassification {
    3636  [StorableClass]
    3737  public class VariableVectorClassificationProblem : ConditionActionClassificationProblem<UniformRandomVariableVectorCreator,
    3838                                                            VariableVectorActionComparer,
    39                                                             VariableVectorClassificationProblemData> {
     39                                                            VariableVectorClassificationProblemData>, IVariableVectorClassificationProblem {
    4040    public override string ChildName {
    4141      get { return "VariableVector"; }
     
    4949      get { return (IFixedValueParameter<VariableVectorActionComparer>)Parameters["ClassifierComparer"]; }
    5050    }
     51    public IVariableVectorCoveringCreator VariableVectorCoveringCreator {
     52      get { return (IVariableVectorCoveringCreator)CoveringSolutionCreator; }
     53    }
    5154    #endregion
    5255
     
    5760        ProblemDataParameter.Value = value;
    5861        if (value != null) {
    59           SetProblemDataSpecificParameters();
     62          SetProblemDataSettings();
    6063        }
    6164      }
     
    9194      Parameters.Add(new FixedValueParameter<ItemSet<VariableVectorAction>>("PossibleActionsConcreteClass", new ItemSet<VariableVectorAction>(ClassifierComparer)));
    9295
    93       coveringSolutionCreator.SampleVariableVectorParameter.ActualName = problemData.SampleVariableVectorParameter.Name;
     96      SolutionCreator.VariableVectorParameter.ActualName = ChildName;
    9497
    95       SetProblemDataSpecificParameters();
     98      SetProblemDataSettings();
    9699
    97100      InitializeOperators();
    98 
    99       problemData.Changed += new System.EventHandler(problemData_Changed);
    100101    }
    101102
    102     private void problemData_Changed(object sender, System.EventArgs e) {
    103       SetProblemDataSpecificParameters();
    104     }
     103    protected override void SetProblemDataSettings() {
     104      SolutionCreator.ProblemDataParameter.ActualName = ProblemDataParameter.Name;
    105105
    106     private void SetProblemDataSpecificParameters() {
    107       SolutionCreator.SampleVariableVectorParameter.Value = ProblemData.SampleVariableVectorParameter.Value;
    108       SolutionCreator.VariableVectorParameter.ActualName = ChildName;
    109       SolutionCreator.SpreadPercentageParameter.Value = ProblemData.SpreadPercentageParameter.Value;
     106      VariableVectorCoveringCreator.ProblemDataParameter.ActualName = ProblemDataParameter.Name;
    110107
    111108      SetPossibleActions();
     
    130127      var sampleAction = ProblemData.SampleVariableVector.Action;
    131128      var actionKeys = sampleAction.Order;
    132       var actionsEnumeratorList = sampleAction.ToDictionary(x => x.Key, y => y.Value.GetAllPossibleActions().ToList());
     129      var actionsEnumeratorList = sampleAction.VariableDictionary.ToDictionary(x => x.Key, y => y.Value.GetAllPossibleActions().ToList());
    133130      int[] curPos = new int[actionsEnumeratorList.Count];
    134131      //initialize curPos
     
    145142        cur = 0;
    146143        foreach (var key in actionKeys) {
    147           curAction[key].SetTo(actionsEnumeratorList[key][curPos[cur]]);
     144          curAction.VariableDictionary[key].SetTo(actionsEnumeratorList[key][curPos[cur]]);
    148145          cur++;
    149146        }
Note: See TracChangeset for help on using the changeset viewer.