Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/25/10 19:19:37 (14 years ago)
Author:
gkronber
Message:

Worked on SymbolicTreeEncoding plugin. #937 (Data types and operators for symbolic expression tree encoding)

Location:
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3

    • Property svn:ignore set to
      bin
      *.user
      obj
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTree/3.3/SymbolicExpressionTree.cs

    r3218 r3219  
    2424using System.Text;
    2525using HeuristicLab.Core;
    26 using HeuristicLab.GP.Interfaces;
    2726using System.Xml;
    2827
    29 namespace HeuristicLab.GP {
    30   public class FunctionTree : IFunctionTree {
    31     private List<IFunctionTree> subTrees;
     28namespace HeuristicLab.Encodings.SymbolicExpressionTree {
     29  public class SymbolicExpressionTree {
     30    private List<SymbolicExpressionTree> subTrees;
    3231    private IFunction function;
    3332
    34     public FunctionTree() {
     33    public SymbolicExpressionTree() {
    3534    }
    3635
    37     public FunctionTree(IFunction function) {
    38       subTrees = new List<IFunctionTree>();
     36    public SymbolicExpressionTree(Symbol symbol) {
     37      subTrees = new List<SymbolicExpressionTree>();
    3938      this.function = function;
    4039    }
    4140
    42     protected FunctionTree(FunctionTree original) {
     41    protected SymbolicExpressionTree(SymbolicExpressionTree original) {
    4342      this.function = original.Function;
    44       this.subTrees = new List<IFunctionTree>(original.SubTrees.Count);
    45       foreach (IFunctionTree originalSubTree in original.SubTrees) {
    46         this.SubTrees.Add((IFunctionTree)originalSubTree.Clone());
     43      this.subTrees = new List<SymbolicExpressionTree>(original.SubTrees.Count);
     44      foreach (SymbolicExpressionTree originalSubTree in original.SubTrees) {
     45        this.SubTrees.Add((SymbolicExpressionTree)originalSubTree.Clone());
    4746      }
    4847    }
    4948
    50     #region IFunctionTree Members
    5149    public virtual bool HasLocalParameters {
    5250      get { return false; }
    5351    }
    5452
    55     public virtual IList<IFunctionTree> SubTrees {
     53    public virtual IList<SymbolicExpressionTree> SubTrees {
    5654      get { return subTrees; }
    5755    }
    5856
    59     public IFunction Function {
     57    public Symbol Function {
    6058      get { return function; }
    6159      protected set { function = value; }
     
    6462    public int GetSize() {
    6563      int size = 1;
    66       foreach (IFunctionTree tree in SubTrees) size += tree.GetSize();
     64      foreach (SymbolicExpressionTree tree in SubTrees) size += tree.GetSize();
    6765      return size;
    6866    }
     
    7068    public int GetHeight() {
    7169      int maxHeight = 0;
    72       foreach (IFunctionTree tree in SubTrees) maxHeight = Math.Max(maxHeight, tree.GetHeight());
     70      foreach (SymbolicExpressionTree tree in SubTrees) maxHeight = Math.Max(maxHeight, tree.GetHeight());
    7371      return maxHeight + 1;
    7472    }
     
    8280    }
    8381
    84     public void AddSubTree(IFunctionTree tree) {
     82    public void AddSubTree(SymbolicExpressionTree tree) {
    8583      SubTrees.Add(tree);
    8684    }
    8785
    88     public virtual void InsertSubTree(int index, IFunctionTree tree) {
     86    public virtual void InsertSubTree(int index, SymbolicExpressionTree tree) {
    8987      SubTrees.Insert(index, tree);
    9088    }
     
    9896    }
    9997
    100     #endregion
    10198
    10299    #region IStorable Members
     
    107104
    108105    public virtual object Clone() {
    109       return new FunctionTree(this);
     106      return new SymbolicExpressionTree(this);
    110107    }
    111108
Note: See TracChangeset for help on using the changeset viewer.