Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/29/12 20:15:48 (11 years ago)
Author:
sforsten
Message:

#1980: implemented covering and changed SinglePointCrossover for CombinedIntegerVectorEncoding

Location:
branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3

    • Property svn:ignore set to
      obj
      Plugin.cs
  • branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3/Implementation/ConditionActionClassificationProblem.cs

    r9089 r9090  
    4545      get { return (IValueParameter<ConditionActionClassificationProblemData>)Parameters["ProblemData"]; }
    4646    }
     47    public IValueParameter<ICoveringSolutionCreator> CoveringSolutionCreatorParameter {
     48      get { return (IValueParameter<ICoveringSolutionCreator>)Parameters["CoveringSolutionCreator"]; }
     49    }
     50    public IFixedValueParameter<PercentValue> ChangeSymbolProbabilityInCoveringParameter {
     51      get { return (IFixedValueParameter<PercentValue>)Parameters["ChangeSymbolProbabilityInCovering"]; }
     52    }
    4753    public IFixedValueParameter<DoubleValue> PositiveRewardParameter {
    4854      get { return (IFixedValueParameter<DoubleValue>)Parameters["PositiveReward"]; }
     
    6066      get { return (IFixedValueParameter<DoubleValue>)Parameters["InitialFitness"]; }
    6167    }
    62     public IFixedValueParameter<IItemSet<IClassifier>> PossibleActionsParameter {
    63       get { return (IFixedValueParameter<IItemSet<IClassifier>>)Parameters["PossibleActions"]; }
    64     }
    65     private IFixedValueParameter<IntValue> ThetaMinimalNumberOfActionsParameter {
     68    public IFixedValueParameter<ItemSet<IClassifier>> PossibleActionsParameter {
     69      get { return (IFixedValueParameter<ItemSet<IClassifier>>)Parameters["PossibleActions"]; }
     70    }
     71    public IFixedValueParameter<IntValue> ThetaMinimalNumberOfActionsParameter {
    6672      get { return (IFixedValueParameter<IntValue>)Parameters["ThetaMinimalNumberOfActions"]; }
    6773    }
     
    94100      get { return PossibleActions; }
    95101    }
    96     public IItemSet<IClassifier> PossibleActions {
     102    public ItemSet<IClassifier> PossibleActions {
    97103      get { return PossibleActionsParameter.Value; }
    98104    }
     
    115121    private IntValue ThetaMinimalNumberOfActions {
    116122      get { return ThetaMinimalNumberOfActionsParameter.Value; }
     123    }
     124    IParameter IConditionActionProblem.ThetaMinimalNumberOfActionsParameter {
     125      get { return ThetaMinimalNumberOfActionsParameter; }
     126    }
     127    public ICoveringSolutionCreator CoveringSolutionCreator {
     128      get { return CoveringSolutionCreatorParameter.Value; }
     129    }
     130    IParameter IConditionActionProblem.CoveringSolutionCreatorParameter {
     131      get { return CoveringSolutionCreatorParameter; }
    117132    }
    118133    #endregion
     
    130145      this(new ConditionActionClassificationProblemData(new Dataset(ConditionActionClassificationProblemData.defaultVariableNames, ConditionActionClassificationProblemData.defaultData),
    131146        ConditionActionClassificationProblemData.defaultVariableNames.Take(ConditionActionClassificationProblemData.defaultVariableNames.Length - 1), ConditionActionClassificationProblemData.defaultVariableNames.Last().ToEnumerable()),
    132         new XCSEvaluator(), new UniformRandomCombinedIntegerVectorCreator()) {
    133     }
    134 
    135     public ConditionActionClassificationProblem(ConditionActionClassificationProblemData problemData, XCSEvaluator evaluator, UniformRandomCombinedIntegerVectorCreator solutionCreator)
     147        new XCSEvaluator(), new UniformRandomCombinedIntegerVectorCreator(), new CombinedIntegerVectorCoveringCreator()) {
     148    }
     149
     150    public ConditionActionClassificationProblem(ConditionActionClassificationProblemData problemData, XCSEvaluator evaluator, UniformRandomCombinedIntegerVectorCreator solutionCreator, ICoveringSolutionCreator coveringSolutionCreator)
    136151      : base(evaluator, solutionCreator) {
    137152      Parameters.Add(new FixedValueParameter<IntValue>("Length", "The operator to create a solution.", new IntValue(7)));
     
    151166      Parameters.Add(new FixedValueParameter<IntValue>("ThetaMinimalNumberOfActions", "Minimal number of actions, which have to be present in the match set, or else covering will occure."));
    152167
     168      Parameters.Add(new ValueParameter<ICoveringSolutionCreator>("CoveringSolutionCreator", "", coveringSolutionCreator));
     169      Parameters.Add(new FixedValueParameter<PercentValue>("ChangeSymbolProbabilityInCovering", "", new PercentValue(0.5)));
     170
    153171      Evaluator.InitialErrorParameter.ActualName = "InitialError";
    154172      Evaluator.InitialFitnessParameter.ActualName = "InitialFitness";
     
    158176      SolutionCreator.LengthParameter.ActualName = LengthParameter.Name;
    159177      SolutionCreator.BoundsParameter.ActualName = BoundsParameter.Name;
     178
     179      coveringSolutionCreator.ChangeSymbolProbabilityParameter.ActualName = ChangeSymbolProbabilityInCoveringParameter.Name;
     180      coveringSolutionCreator.CoverClassifierParameter.ActualName = ClassifierFetcher.CurrentClassifierToMatchParameter.ActualName;
     181      coveringSolutionCreator.CreatedClassifierParameter.ActualName = "CombinedIntegerVector";
    160182
    161183      ClassifierFetcher.ActionPartLengthParameter.ActualName = ActionPartLengthParameter.Name;
Note: See TracChangeset for help on using the changeset viewer.