Ignore:
Timestamp:
08/03/15 00:03:18 (6 years ago)
Author:
aballeit
Message:

#2283 limit parallelism

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch.cs

    r12829 r12832  
    120120            if (treeNode.children == null)
    121121            {
    122                 treeNode.children = new List<TreeNode>();
     122                List<TreeNode> newChildren = new List<TreeNode>();
    123123
    124124                var phrase = new Sequence(treeNode.phrase);
     
    137137                            {
    138138                                childNode = new TreeNode(treeNode, newSequence.ToString(),
    139                                     behaviourPolicy.CreateActionInfo(), treeNode.level + 1);
    140                                 treeNode.children.Add(childNode);
     139                                    behaviourPolicy.CreateActionInfo(), (ushort) (treeNode.level + 1));
     140                                newChildren.Add(childNode);
    141141                            }
    142142                        }
    143143                    }
    144144                }
     145                treeNode.children = newChildren.ToArray();
    145146            }
    146147        }
     
    164165        }
    165166
    166         private void GetTreeInfosRek(TreeInfos treeInfos, List<TreeNode> children)
    167         {
    168             treeInfos.TotalNodes += children.Count;
     167        private void GetTreeInfosRek(TreeInfos treeInfos, TreeNode[] children)
     168        {
     169            treeInfos.TotalNodes += children.Length;
    169170            foreach (TreeNode child in children)
    170171            {
     
    342343            return HexConverter(Color.FromArgb(newR, newG, newB));
    343344        }
     345
     346        public void FreeAll()
     347        {
     348            rootNode = null;
     349            GC.Collect();
     350        }
    344351    }
    345352}
Note: See TracChangeset for help on using the changeset viewer.