Changeset 7817 for branches/HeuristicLab.EvolutionaryTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeMatching.cs
- Timestamp:
- 05/15/12 00:21:10 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.EvolutionaryTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeMatching.cs
r7792 r7817 70 70 71 71 public static bool ContainsFragment(this ISymbolicExpressionTree tree, ISymbolicExpressionTreeNode fragment, int mode) { 72 var nodes = tree.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;73 var fragments = fragment.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;72 var nodes = tree.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 73 var fragments = fragment.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 74 74 return FindMatch(nodes, fragments, mode) != -1; 75 75 } … … 77 77 // convenience methods for less typing :) 78 78 private static IEnumerator<ISymbolicExpressionTreeNode> Enumerator(this ISymbolicExpressionTree tree) { 79 return tree.IterateNodes Breadth().GetEnumerator();79 return tree.IterateNodesPostfix().GetEnumerator(); 80 80 } 81 81 private static IEnumerator<ISymbolicExpressionTreeNode> Enumerator(this ISymbolicExpressionTreeNode tree) { 82 return tree.IterateNodes Breadth().GetEnumerator();82 return tree.IterateNodesPostfix().GetEnumerator(); 83 83 } 84 84 public static int FindMatch(ISymbolicExpressionTree a, ISymbolicExpressionTree b, int mode) { 85 var nodesA = a.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;86 var nodesB = b.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;85 var nodesA = a.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 86 var nodesB = b.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 87 87 return FindMatch(nodesA, nodesB, mode); 88 88 } 89 89 public static int FindMatch(ISymbolicExpressionTreeNode a, ISymbolicExpressionTreeNode b, int mode) { 90 var nodesA = a.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;91 var nodesB = b.IterateNodes Breadth() as List<ISymbolicExpressionTreeNode>;90 var nodesA = a.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 91 var nodesB = b.IterateNodesPostfix() as List<ISymbolicExpressionTreeNode>; 92 92 return FindMatch(nodesA, nodesB, mode); 93 93 }
Note: See TracChangeset
for help on using the changeset viewer.