Changeset 8430 for branches/HeuristicLab.TimeSeries/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Creators/GrowTreeCreator.cs
- Timestamp:
- 08/08/12 14:04:17 (12 years ago)
- Location:
- branches/HeuristicLab.TimeSeries
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries
- Property svn:ignore
-
old new 20 20 bin 21 21 protoc.exe 22 _ReSharper.HeuristicLab.TimeSeries-3.3
-
- Property svn:ignore
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding merged: 7955,7961,7964,7972,8126,8148,8246,8311,8333,8344
- Property svn:mergeinfo changed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Creators/GrowTreeCreator.cs
r7268 r8430 160 160 .Where(s => seedNode.Grammar.IsAllowedChildSymbol(seedNode.Symbol, s, i)) 161 161 .ToList(); 162 var selectedSymbol = possibleSymbols.SelectRandom(random); 162 var weights = possibleSymbols.Select(s => s.InitialFrequency).ToList(); 163 var selectedSymbol = possibleSymbols.SelectRandom(weights, random); 163 164 var tree = selectedSymbol.CreateTreeNode(); 164 165 if (tree.HasLocalParameters) tree.ResetLocalParameters(random); … … 178 179 throw new ArgumentException("Cannot grow node of arity zero. Expected a function node."); 179 180 180 var allowedSymbols = root.Grammar.AllowedSymbols 181 .Where(s => s.InitialFrequency > 0.0) 182 .ToList(); 181 var allowedSymbols = root.Grammar.AllowedSymbols.Where(s => s.InitialFrequency > 0.0).ToList(); 183 182 184 183 for (var i = 0; i < arity; i++) { … … 187 186 root.Grammar.GetMinimumExpressionDepth(s) - 1 <= maxDepth - currentDepth) 188 187 .ToList(); 188 189 189 if (!possibleSymbols.Any()) 190 190 throw new InvalidOperationException("No symbols are available for the tree."); 191 var selectedSymbol = possibleSymbols.SelectRandom(random); 191 var weights = possibleSymbols.Select(s => s.InitialFrequency).ToList(); 192 var selectedSymbol = possibleSymbols.SelectRandom(weights, random); 192 193 var tree = selectedSymbol.CreateTreeNode(); 193 194 if (tree.HasLocalParameters) tree.ResetLocalParameters(random);
Note: See TracChangeset
for help on using the changeset viewer.