Changeset 3257 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/ArithmeticExpressionGrammar.cs
- Timestamp:
- 04/02/10 16:49:20 (14 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/ArithmeticExpressionGrammar.cs
r3255 r3257 26 26 using System.Linq; 27 27 using HeuristicLab.Core; 28 using HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols;29 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 29 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.GeneralSymbols; 30 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols; 31 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic { 31 32 [StorableClass] 32 33 public class ArithmeticExpressionGrammar : Item, ISymbolicExpressionGrammar { 33 34 private class EmptySymbol : Symbol {35 public EmptySymbol() {36 Name = "Start";37 }38 }39 34 40 35 public ArithmeticExpressionGrammar() … … 43 38 #region ISymbolicExpressionGrammar Members 44 39 [Storable] 45 private EmptySymbol startSymbol = new EmptySymbol();40 private StartSymbol startSymbol = new StartSymbol(); 46 41 public Symbol StartSymbol { 47 42 get { return startSymbol; } … … 55 50 new Division(), 56 51 new Constant(), 57 new HeuristicLab.Problems.DataAnalysis. Symbolic.Symbols.Variable()52 new HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable() 58 53 }; 59 54 [Storable] 60 55 private Dictionary<Type, Dictionary<int, IEnumerable<Symbol>>> allowedSymbols = new Dictionary<Type, Dictionary<int, IEnumerable<Symbol>>>() { 61 56 { 62 typeof( EmptySymbol),57 typeof(StartSymbol), 63 58 new Dictionary<int, IEnumerable<Symbol>>() 64 59 { … … 104 99 [Storable] 105 100 private Dictionary<Type, int> minLength = new Dictionary<Type, int>() { 106 {typeof( EmptySymbol), 1},101 {typeof(StartSymbol), 1}, 107 102 {typeof(Addition), 3}, 108 103 {typeof(Subtraction), 3}, … … 110 105 {typeof(Division), 4}, 111 106 {typeof(Constant), 1}, 112 {typeof(HeuristicLab.Problems.DataAnalysis. Symbolic.Symbols.Variable), 1},107 {typeof(HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable), 1}, 113 108 }; 114 109 public int MinimalExpressionLength(Symbol start) { … … 118 113 [Storable] 119 114 private Dictionary<Type, int> maxLength = new Dictionary<Type, int>() { 120 {typeof( EmptySymbol), int.MaxValue},115 {typeof(StartSymbol), int.MaxValue}, 121 116 {typeof(Addition), int.MaxValue}, 122 117 {typeof(Subtraction), int.MaxValue}, 123 118 {typeof(Multiplication), int.MaxValue}, 124 119 {typeof(Division), int.MaxValue}, 125 {typeof(HeuristicLab.Problems.DataAnalysis. Symbolic.Symbols.Variable), 1},120 {typeof(HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable), 1}, 126 121 {typeof(Constant), 1}, 127 122 }; … … 132 127 [Storable] 133 128 private Dictionary<Type, int> minDepth = new Dictionary<Type, int>() { 134 {typeof( EmptySymbol), 1},129 {typeof(StartSymbol), 1}, 135 130 {typeof(Addition), 1}, 136 131 {typeof(Subtraction), 1}, … … 138 133 {typeof(Division), 1}, 139 134 {typeof(Constant), 0}, 140 {typeof(HeuristicLab.Problems.DataAnalysis. Symbolic.Symbols.Variable), 0}135 {typeof(HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable), 0} 141 136 }; 142 137 public int MinimalExpressionDepth(Symbol start) { … … 146 141 [Storable] 147 142 private Dictionary<Type, int> subTrees = new Dictionary<Type, int>() { 148 {typeof( EmptySymbol), 1},143 {typeof(StartSymbol), 1}, 149 144 {typeof(Addition), 2}, 150 145 {typeof(Subtraction), 2}, 151 146 {typeof(Multiplication), 2}, 152 147 {typeof(Division), 2}, 153 {typeof(HeuristicLab.Problems.DataAnalysis. Symbolic.Symbols.Variable), 0},148 {typeof(HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable), 0}, 154 149 {typeof(Constant), 0}, 155 150 };
Note: See TracChangeset
for help on using the changeset viewer.