Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/24/15 17:22:41 (9 years ago)
Author:
mkommend
Message:

#2521: Fixed all problems.

Location:
branches/ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified branches/ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs

    r12012 r13372  
    2323using System.Collections.Generic;
    2424using HeuristicLab.Core;
     25using HeuristicLab.Optimization;
     26
    2527namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
    26   public interface ISymbolicExpressionTree : IItem {
     28  public interface ISymbolicExpressionTree : IItem, ISolution {
    2729    ISymbolicExpressionTreeNode Root { get; set; }
    2830    int Length { get; }
  • TabularUnified branches/ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs

    r12422 r13372  
    2727  /// Interface for operators that create symbolic expression trees.
    2828  /// </summary>
    29   public interface ISymbolicExpressionTreeCreator : ISolutionCreator, ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicExpressionTreeGrammarBasedOperator {
     29  public interface ISymbolicExpressionTreeCreator : ISolutionCreator<ISymbolicExpressionTree>, ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicExpressionTreeGrammarBasedOperator {
    3030    ISymbolicExpressionTree CreateTree(IRandom random, ISymbolicExpressionGrammar grammar, int maxTreeLength, int maxTreeDepth);
    3131  }
  • TabularUnified branches/ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeEncoding.cs

    r12422 r13372  
    3636  [Item("SymbolicExpressionTreeEncoding", "Describes a symbolic expression tree encoding.")]
    3737  [StorableClass]
    38   public sealed class SymbolicExpressionTreeEncoding : Encoding<ISymbolicExpressionTreeCreator> {
     38  public sealed class SymbolicExpressionTreeEncoding : Encoding<ISymbolicExpressionTree> {
    3939    #region Encoding Parameters
    4040    [Storable]
     
    355355    #endregion
    356356  }
    357 
    358   public static class IndividualExtensionMethods {
    359     public static ISymbolicExpressionTree SymbolicExpressionTree(this Individual individual) {
    360       var encoding = individual.GetEncoding<SymbolicExpressionTreeEncoding>();
    361       return individual.SymbolicExpressionTree(encoding.Name);
    362     }
    363 
    364     public static ISymbolicExpressionTree SymbolicExpressionTree(this Individual individual, string name) {
    365       return (ISymbolicExpressionTree)individual[name];
    366     }
    367   }
    368357}
  • TabularUnified branches/ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeProblem.cs

    r13336 r13372  
    3232namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
    3333  [StorableClass]
    34   public abstract class SymbolicExpressionTreeProblem : SingleObjectiveProblem<SymbolicExpressionTreeEncoding> {
     34  public abstract class SymbolicExpressionTreeProblem : SingleObjectiveProblem<SymbolicExpressionTreeEncoding, ISymbolicExpressionTree> {
    3535
    3636    // persistence
     
    4848    protected SymbolicExpressionTreeProblem() : base() { }
    4949
    50     public virtual bool IsBetter(double quality, double bestQuality) {
    51       return (Maximization && quality > bestQuality || !Maximization && quality < bestQuality);
    52     }
    53 
    54     public abstract double Evaluate(ISymbolicExpressionTree tree, IRandom random);
    55     public sealed override double Evaluate(Individual individual, IRandom random) {
    56       return Evaluate(individual.SymbolicExpressionTree(), random);
    57     }
    58 
    59     public virtual void Analyze(ISymbolicExpressionTree[] trees, double[] qualities, ResultCollection results,
     50    public override void Analyze(ISymbolicExpressionTree[] trees, double[] qualities, ResultCollection results,
    6051      IRandom random) {
    6152      if (!results.ContainsKey("Best Solution Quality")) {
     
    7667      }
    7768    }
    78 
    79     public sealed override void Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    80       Analyze(individuals.Select(ind => ind.SymbolicExpressionTree()).ToArray(), qualities, results, random);
    81     }
    8269  }
    8370}
Note: See TracChangeset for help on using the changeset viewer.